home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MEDICAL / 2608A.ZIP / GP.ZIP / FREEAP.SRC < prev    next >
Text File  |  1990-11-05  |  5KB  |  249 lines

  1. ;\|
  2. ;FREEAP.SRC     Translated from FREEAP.EDT by Roger Mathew's EDT2SRC Ver 4.11
  3. ;FREEAP   11:55:35 AM  16/ 7/90   |
  4.     define(CTR|N|2||)
  5.     define(CTR1|N|2||)
  6.     define(NUM2|N|2||)
  7.     define(NUM|N|2||)
  8.     define(CTR3|N|2||)
  9.     define(CTR4|N|2||)
  10.     define(CTR2|N|2||)
  11.     define(MEM_DATE|S|8||)
  12.     define(DAY_NAME|A|5||)
  13.     define(DAY_NUM|N|1||)
  14.     define(A1|N|2||5)
  15.     define(P1|N|2||5)
  16.     define(TD|S|8||)
  17.     open(APPOINTS||0|)
  18.     open(APSET||0|)
  19.     find(b|apset||)
  20.     trap(Q|G|EXIT)
  21.     date(TD|G)
  22.     MEM_DATE = (TD)
  23.     mount(NEW|S)
  24.     gosub DAYGET
  25.     CTR = (1)
  26.     DRDATE = (TD-1)
  27. START:
  28.     APDR = (CTR)
  29.     DRDATE = (DRDATE+CTR)
  30.     CTR2 = (9)
  31.     CTR3 = (27)
  32.     CTR4 = (30)
  33.     find(M|DRAP|NEXT|)
  34. TEST:
  35.     gosub GETDOC
  36.     for(CTR1|1|NUM|1)
  37.         {
  38.         if PATAM[CTR1] = ("") do
  39.             {
  40.             A1[CTR] = (A1[CTR]+1)
  41.             }
  42.         if PATPM[CTR1] = ("") do
  43.             {
  44.             P1[CTR] = (P1[CTR]+1)
  45.             }
  46.         }
  47.     if CTR = (1) do
  48.         {
  49.         if A1[CTR] <= (4) do
  50.             {
  51.             pmsg(@C135;A1[CTR];@C7|CTR3|CTR2|N|N|S|)
  52.             }
  53.         else
  54.             {
  55.             pmsg(A1[CTR]|CTR3|CTR2|N|N|S|)
  56.             }
  57.         }
  58.     if CTR = (2) do
  59.         {
  60.         if A1[CTR] <= (7) do
  61.             {
  62.             pmsg(@C135;A1[CTR];@C7|CTR3|CTR2|N|N|S|)
  63.             }
  64.         else
  65.             {
  66.             pmsg(A1[CTR]|CTR3|CTR2|N|N|S|)
  67.             }
  68.         }
  69.     if CTR = (3) do
  70.         {
  71.         if A1[CTR] <= (4) do
  72.             {
  73.             pmsg(@C135;A1[CTR];@C7|CTR3|CTR2|N|N|S|)
  74.             }
  75.         else
  76.             {
  77.             pmsg(A1[CTR]|CTR3|CTR2|N|N|S|)
  78.             }
  79.         }
  80.     if CTR = (4) do
  81.         {
  82.         if A1[CTR] <= (5) do
  83.             {
  84.             pmsg(@C135;A1[CTR];@C7|CTR3|CTR2|N|N|S|)
  85.             }
  86.         else
  87.             {
  88.             pmsg(A1[CTR]|CTR3|CTR2|N|N|S|)
  89.             }
  90.         }
  91.     if CTR = (5) do
  92.         {
  93.         if A1[CTR] <= (1) do
  94.             {
  95.             pmsg(@C135;A1[CTR];@C7|CTR3|CTR2|N|N|S|)
  96.             }
  97.         else
  98.             {
  99.             pmsg(A1[CTR]|CTR3|CTR2|N|N|S|)
  100.             }
  101.         }
  102.     gosub PM
  103.     if A1[CTR] = (NUM) then pmsg(" ?"|CTR3|CTR2|N|N|S|)
  104.     if P1[CTR] = (NUM) then pmsg(" ?"|CTR4|CTR2|N|N|S|)
  105. NEXT:
  106.     clrmem(A1|5)
  107.     clrmem(P1|5)
  108.     CTR = (CTR+1)
  109.     APDR = (CTR)
  110.     CTR2 = (CTR2+2)
  111.     if CTR = (6) do
  112.         {
  113.         DRDATE = (DRDATE+1)
  114.         DAY_NUM =day(DRDATE)
  115.         if DAY_NUM = (7) then DRDATE = (DRDATE+2)
  116.         if DAY_NUM = (1) then DRDATE = (DRDATE+1)
  117.         CTR3 = (CTR3+8)
  118.         CTR4 = (CTR4+8)
  119.         CTR2 = (9)
  120.         CTR = (1)
  121.         APDR = (CTR)
  122.         if CTR3 > (59) goto EXIT
  123.         }
  124.     find(M|DRAP|NEXTONE|)
  125.     goto TEST
  126. NEXTONE:
  127.     pmsg("?"|CTR3|CTR2|N|N|S|)
  128.     pmsg("?"|CTR4|CTR2|N|N|S|)
  129.     goto NEXT
  130. EXIT:
  131.     pmsg(""|24|24|Y|N|S|)
  132.     run("FAPPOINT")
  133. DAYGET:
  134.     DAY_NAME =day(MEM_DATE)
  135.     CTR1 = (26)
  136.     CTR2 = (1)
  137.     for(CTR|1|5|1)
  138.         {
  139.         pmsg(DAY_NAME|CTR1|7|N|N|S|)
  140.         MEM_DATE = (MEM_DATE+1)
  141.         DAY_NUM =day(MEM_DATE)
  142.         if DAY_NUM = (7) then MEM_DATE = (MEM_DATE+2)
  143.         if DAY_NUM = (1) then MEM_DATE = (MEM_DATE+1)
  144.         DAY_NAME =day(MEM_DATE)
  145.         CTR1 = (CTR1+8)
  146.         CTR2 = (CTR2+1)
  147.         if CTR2 = (6) ret
  148.         }
  149.     ret
  150. GETDOC:
  151.     find(B|APSET||)
  152.     APDR = (CTR)
  153.     NUM = (SECONDS2[APDR]/SECSETAM[APDR])
  154.     if APDR = (1) then NUM2 = (4)
  155.     if APDR = (2) then NUM2 = (7)
  156.     if APDR = (3) then NUM2 = (4)
  157.     if APDR = (4) then NUM2 = (5)
  158.     if APDR = (5) then NUM2 = (1)
  159.     ret
  160. PM:
  161.     if CTR = (1) do
  162.         {
  163.         if P1[CTR] <= (4) do
  164.             {
  165.             pmsg(@C135;P1[CTR];@C7|CTR4|CTR2|N|N|S|)
  166.             }
  167.         else
  168.             {
  169.             pmsg(P1[CTR]|CTR4|CTR2|N|N|S|)
  170.             }
  171.         }
  172.     if CTR = (2) do
  173.         {
  174.         if P1[CTR] <= (7) do
  175.             {
  176.             pmsg(@C135;P1[CTR];@C7|CTR4|CTR2|N|N|S|)
  177.             }
  178.         else
  179.             {
  180.             pmsg(P1[CTR]|CTR4|CTR2|N|N|S|)
  181.             }
  182.         }
  183.     if CTR = (3) do
  184.         {
  185.         if P1[CTR] <= (4) do
  186.             {
  187.             pmsg(@C135;P1[CTR];@C7|CTR4|CTR2|N|N|S|)
  188.             }
  189.         else
  190.             {
  191.             pmsg(P1[CTR]|CTR4|CTR2|N|N|S|)
  192.             }
  193.         }
  194.     if CTR = (4) do
  195.         {
  196.         if P1[CTR] <= (5) do
  197.             {
  198.             pmsg(@C135;P1[CTR];@C7|CTR4|CTR2|N|N|S|)
  199.             }
  200.         else
  201.             {
  202.             pmsg(P1[CTR]|CTR4|CTR2|N|N|S|)
  203.             }
  204.         }
  205.     if CTR = (5) do
  206.         {
  207.         if P1[CTR] <= (1) do
  208.             {
  209.             pmsg(@C135;P1[CTR];@C7|CTR4|CTR2|N|N|S|)
  210.             }
  211.         else
  212.             {
  213.             pmsg(P1[CTR]|CTR4|CTR2|N|N|S|)
  214.             }
  215.         }
  216.     ret
  217. \STNEW     
  218.  
  219.  
  220.  
  221.  
  222.                     NUMBER OF FREE APPOINTMENTS AVAILABLE
  223.        ┌────────────────┬───────┬───────┬───────┬───────┬───────┐
  224.        │                │       │       │       │       │       │
  225.        │────────────────┼───────┼───────┼───────┼───────┼───────│
  226.        │ &              │       │       │       │       │       │
  227.        │────────────────┼───────┼───────┼───────┼───────┼───────│
  228.        │ &              │       │       │       │       │       │
  229.        │────────────────┼───────┼───────┼───────┼───────┼───────│
  230.        │ &              │       │       │       │       │       │
  231.        │────────────────┼───────┼───────┼───────┼───────┼───────│
  232.        │ &              │       │       │       │       │       │
  233.        │────────────────┼───────┼───────┼───────┼───────┼───────│
  234.        │ &              │       │       │       │       │       │
  235.        └────────────────┴───────┴───────┴───────┴───────┴───────┘
  236.           ? = Totally free surgery ie Hols,Day off,Luck.
  237.           Blink = Emergency slots only
  238.           Steady = Free slots
  239.           Look down the columns for steady figures.
  240.  
  241.  
  242. \
  243. DRNAME[1]
  244. DRNAME[2]
  245. DRNAME[3]
  246. DRNAME[4]
  247. DRNAME[5]
  248. \
  249.